const app = getApp()

import {
  getIndexCarousel,
  getRecommendArticle,
  getArticleList
} from '../../../api/blog'

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 轮播图
    carousel: {},
    // 今日推荐
    recacl: [],

    search: {
      page: 1,
      limit: 10,
      category: 'PHP'
    },
    emptyData: false,
    noData: false,
    loading: false,
    list: [],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getCarousel()
    this.getRecommendArticle()
    this.getArticleList()
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.data.search.page = 1
    this.setData({
      list: [],
      noData: false,
      emptyData: false,
      recacl: [],
    })
    this.getCarousel()
    this.getRecommendArticle()
    this.getArticleList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.data.noData) {
      this.data.search.page++
      this.getArticleList()
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // ####################################################################################################
  // # 基础功能 方法
  // ####################################################################################################

  // 跳转到详情页面
  toDetail: function (e) {
    let akey = e.currentTarget.dataset.akey
    wx.navigateTo({
      url: '../detail/detail?akey=' + akey,
    })
  },

  // ####################################################################################################
  // # 接口访问 方法
  // ####################################################################################################

  // 获取首页轮播图
  getCarousel() {
    getIndexCarousel().then(res => {
      if (res.code === 200) {
        this.setData({
          carousel: res.data
        })
      } else {
        app.showModal(res.msg)
      }
    })
  },

  // 获取今日推荐
  getRecommendArticle() {
    getRecommendArticle().then(res => {
      if (res.code === 200) {
        this.data.recacl = res.data
        this.setData({
          recacl: this.data.recacl
        })
      } else {
        app.showModal(res.msg)
      }
    })
  },

  // 获取文章列表
  getArticleList() {
    this.setData({
      loading: true
    })
    getArticleList(this.data.search).then(res => {
      if (res.code === 200) {
        let count = res.data.list.length
        let list = res.data.list
        if (count) {
          this.data.noData = false
          this.data.emptyData = false
          for (let i = 0; i < count; i++)
            this.data.list.push(list[i])
        } else {
          this.data.noData = true
          if (this.data.search.page == 1)
            this.data.emptyData = true
        }
        this.setData({
          list: this.data.list,
          noData: this.data.noData,
          emptyData: this.data.emptyData
        })
      } else {
        app.showModal(res.msg)
      }
      this.setData({
        loading: false
      })
      wx.stopPullDownRefresh()
    })
  },

})